Process Lasso

main index ]

Using the INI Configuration File

The configuration options and process rules are stored in an INI configuration file. You can manually edit this INI file, import/export it, choose an alternate INI file to use, or pretend it doesn't exist.  Usually system and network administrators or those with a lot of process rules need to manually tweak the INI file. Otherwise, the Process Lasso graphical user interface (GUI) will help you edit it.

Where is the INI configuration file located?

By default, Process Lasso automatically generates a configuration file for each user context in which it runs. These configuration files are located in the "ProcessLasso" subfolder of the respective user's application data folder. The log is also stored in this same location. The 'About' window of Process Lasso will show the full paths.

Administrators can change the path of the configuration file so that all instances of Process Lasso/Process Governor use the same configuration file. This can be done running the installer again and choosing a global configuration path in the second configuration dialog.

Sample Configuration File


#
# prolasso.ini configuration file [sample]
# any line not recognized is ignored
#
[OutOfControlProcessRestraint]
OocOn=True
TotalProcessorUsageBeforeRestraint=85
PerProcessUsageBeforeRestraint=20
TimeOverQuotaBeforeRestraint=2800
PerProcessUsageForRestore=10
PlayOnRestraint=C:\Windows\media\Windows Pop-up Blocked.wav
PlayOnRestore=C:\Windows\media\Windows Feed Discovered.wav
MinimumTimeOfRestraint=6000
TameOnlyNormal=True
LowerToIdleInsteadOfBelowNormal=False
ExcludeServices=False
PlaySoundOnRestraint=False
PlaySoundOnRestore=False
RestrainByAffinity=False
RestraintAffinity=
ExcludeForegroundProcesses=True
DoNotLowerPriorityClass=False
OocExclusions=
[GUI]
HideGraph=False
HideProcessIcons=False
ShowGraphLegend=True
ClearLogAtExit=False
[Performance]
ManageOnlyCurrentUser=True
ExitOnCloseWindow=False
BoostForegroundThread=False
BoostForegroundProcess=False
SoundsOff=True
AggressivelyTrimProcessLassoWorkingSet=True
CloseApplicationTimeoutSeconds=10
ForcedMode=False
[Updates]
CheckForUpdates=False
[SystemTrayIcon]
UseStaticIcon=False
ShowResponsivnessInTrayInsteadOfProcessorUsage=False
[Logging]
LogAllProcessesExecuted=False
LogProcessesDisallowed=True
LogDefaultPriorityAdjustments=True
LogDefaultAffinityAdjustments=True
LogOutOfControlProcessesRestrained=True
LogOutOfControlProcessesRestored=True
LogInstanceLimitTerminations=True
MaximumLogEntries=50
[MemoryManagement]
TrimAllProcessesAtThisIntervalInMs=0
[SysTrayBalloons]
ShowBalloons=False
BalloonTipDuration=10000
ShowBalloonsForOocPriorityRestoration=False
[Performance]
UpdateSpeed=1500
[ProcessAllowances]
AllowedProcesses=badprog2.exe
DisallowedProcesses=badprog*.exe
InstanceLimitedProcesses=word.exe,excel.exe
[ProcessDefaults]
DefaultPriorities=notepad.exe,above normal;calc.exe,above normal
DefaultAffinities=notepad.exe,1;calc.exe,0
MatchWildcardsToPathnames=False

Names encapsulated in '[' and ']' are groups of options. Each group has one or more options (called keys) that are set to values. Each key is optional, and if it doesn't exist the default value is used. Lines that do not contain a recognized key or group name are ignored. This file is not case sensitive.

Groups Overview

 
Group Description Keys
Performance Configures performance related parameters. UpdateSpeed
OutOfControlProcessRestraint Configures parameters related to restraint of out of control processes (those consuming too many system resources). OocOn
TotalProcessorUsageBeforeRestaint
PerProcessUsageBeforeRestraint
TimeOverQuotaBeforeRestraint
ProcessUsageQuotaCausingRestore
OocExclusions
 
ProcessAllowances Configures processes allowed and disallowed from execution.
AllowedProcesses
DisallowedProcesses
InstanceLimitedProcesses
MatchDisallowedWildcardsToPathnames
 

ProcessDefaults
 
Configures default process priorities. DefaultPriorities
Logging Configures logging options.
LogAllProcessesExecuted
LogProcessesDisallowed
LogDefaultPriorityAdjustments
LogOutOfControlProcessesRestrained
LogInstanceLimitTerminations
MaximumLogEntries
 

Keys

Defined keys (options) and their accepted values are as follows:
 
Group Key Description Accepted Values and Format Default Value
Performance UpdateSpeed The interval between enumerations of running processes by ProcessGovernor and ProcessLasso, in milliseconds. The lower the interval more responsive the applications are to changes in running processes, but more CPU cycles are used. Any non-negative number. It is not recommended to exceed 4000ms or go below 500ms. It is recommended to keep this value the default. 1500
Performance ForcedMode When forced mode is enabled, Process Lasso more aggressively enforces default priorities and affinities. Some applications change their own priorities, and this setting may be necessary in such cases. 'True' if this feature is enabled, 'False' if not. False
OutOfControlProcessRestraint OocOn Toggles out-of-control process restraint on or off. 'True' if this feature is enabled, 'False' if not. True
OutOfControlProcessRestraint TotalProcessorUsageBeforeRestraint The percentage of processor(s) in use that initiates a check of processes that may be out-of-control. While the total processor usage is below this threshold, processes are not restrained. This value includes usage of all processors on a system. Range: 1-100. 75
OutOfControlProcessRestraint TimeOverQuotaBeforeRestraint Number of milliseconds above ProcessorUsageQuota before the process priority is lowered. Any non-negative number. 1750
OutOfControlProcessRestraint PerProcessUsageQuotaBeforeRestraint The percentage of processor(s) in use by a process before its priority is reduced. Note that TotalProcessorUsageBeforeRestraint must have already been met. 1-100. This value must be equal to or lesser than ProcessorUsageQuota. 20
OutOfControlProcessRestraint PerProcessUsageQuotaForRestore The percentage of processor(s) in use by a process that is considered a safe enough value to restore a preciously restrained process to its original priority. 1-100. This value must be equal to or lesser than ProcessorUsageQuota. 5
OutOfControlProcessRestraint OocExclusions Processes excluded from out-of-control restraint. This is a comma delimitered list of process names. Wildcards are allowed.
Format:
process1,process2,process3
Example:
taskmgr.exe, game*.exe
None.
ProcessAllowances DisallowedProcesses Processes disallowed to execute. If a process is launched matching a specification in this list, it will be terminated. This is a comma delimitered list of process names. Wildcards are allowed.
Format:
process1,process2,process3
Example:
taskmgr.exe, game*.exe
 
ProcessAllowances AllowedProcesses Processes allowed to execute. These are only applicable if they match a process specification in the DisallowedProcesses key. For example, if notepad*.exe is lised in DisallowedProcesses and notepad1.exe is listed in AllowedProcesses, then notepad1.exe will be allowed to execute, but notrpad2.exe will not. This is a comma delimitered list of process names. Wildcards are allowed.
Format:
process1,process2,process3
Example:
taskmgr.exe, game*.exe
None.
ProcessAllowances InstanceLimitedProcesses This variables provides a list of processes who should be limited to no more than a certain number of instances in a given user session. This is a comma delimitered list of process names, with semicolons used to indicate the maximum instance count.
Example: 
myprogram.exe;2
ProcessDefaults DefaultPriorities A list of default priorities for processes. This is a comma delimitered list of process names and priorities. Wildcards are allowed. Valid priorities are:
  • Real time
  • High
  • Above normal
  • Normal
  • Below normal
  • Idle

Format:
process1,priority1,process2,priority2
Example:
taskmgr.exe, high,*.scr,idle

None.
Logging LogAllProcessesExecuted Toggle logging of all processes executed. 'True' if enabled, 'False' if not. False
Logging LogProcessesDisallowed Toggle logging of processes terminated because they were disallowed. 'True' if enabled, 'False' if not. True
Logging LogDefaultPriorityAdjustments Toggle logging of processes whose priority was adjusted to a configured default value. 'True' if enabled, 'False' if not. True
Logging LogOutOfControlProcesses Toggle logging of processes restrained because they were found to be out-of-control. 'True' if enabled, 'False' if not. True
Logging MaximumLogEntries The maximum number of log entries. When the log file reaches this limit, it is resized to 80% of this value. Minimum reasonable value is 10. 500
Logging LogInstanceLimitTerminations Set to log terminations of processes based on their instance limit, as configured. 'True' if enabled, 'False' if not True

  Peformance note: Process Lasso uses its own high performance INI parsing algorithm.